hanoi :: Integer -> Integer -> Integer -> Integer -> [(Integer, Integer)]
hanoi a b c 0 = []
hanoi a b c (n+1) = hanoi a c b n ++ [(a, c)] ++ hanoi b a c n